使用Python配合Evernote完成每周工作安排

标题图

起因:

近期看Evernote API的时候发现印象笔记对Python非常友好,就试了一下各类操作。

刚好一直觉得用过的那些备忘、代办软件功能太乱还不如拿记事本或者短信记。就用印象笔记写一个,反正摆脱不了印象笔记,就干脆都存在里面。

用过一段时间以后发现备份和检索功能还不错,也可以把一些文档做链接放进去。

其实身边的API都可以通过Python用起来,简单的利用也会有不错的效果。

演示用的软件可以在我的Github,或者360云盘(0fe0)上下载。

演示视频

我把简单的演示放在了优酷上,如果对演示感兴趣可以看下去。

演示中没有示范如何安装evernote的包,pip install evernote一下就好了。

演示主要分为配置Secret Key、使用、配置快捷启动,具体的文字说明我写在了后面。

用途

  • 该玩具将会将上周的Memo(在Memo笔记本组中)备份到S-Memo笔记本组(如果有的话)
  • 用一份空白Memo替代旧Memo

配置

配置Python及程序

  • pip install evernote:安装evernote包
  • pip install requests:如需要使用Oauth,安装requests包
  • Memo样式可以通过修改模板文件content.enex调整
  • 存放位置与工作安排的名字可以通过修改PackMemo.py 4-6行配置

配置Secret Key

  • 进入印象笔记官网登陆(其实也可以忽略这一步,但下面的网址链接不太稳定)
  • 进入印象笔记开发者Token获取开发者Token
  • 将获取到的开发者Token添加到EvernoteController.py第21行单引号内(->21 DEV_TOKEN = '')

使用

  • python PackMemo.py:将会自动登录完成日志创建与存储
  • Win+R pm <CR>:Windows系统内配置好快捷启动后即可使用

配置快捷启动

  • Win+R %systemroot%/system32 <CR>:打开文件夹
  • PackMemo.bat创建快捷方式并重命名为pm
  • pm拖入文件夹

程序细节

EvernoteController.py

  • 示例程序:基本的笔记操作
e = EvernoteController()
e.create_notebook('Notebook1')
e.create_note('Hello', '<en-note>Hello, world!</en-note>', 'Notebook1')
e.create_notebook('Notebook2')
e.show_notes()
e.move_note('Notebook1/Hello', 'Notebook2')
e.show_notes()
e.delete_note('Notebook2/Hello')
# deleting notebook can only be available when you use developer token for your own evernote
e.delete_notebook('Notebook1')
e.delete_notebook('Notebook2')
e.show_notes()
  • 可以选择是否开启本地存储与Oauth验证(就是账号密码登陆)
  • 笔记指定方式通过myfile方法确定为Notebook/Note
  • 删除操作仅在使用开发者Token时可以使用,否则仅能移入已删除的文件文件夹(API限制)
  • 完整版EvernoteControler.py包含其余组件,如果感兴趣可以再做研究

Memo.py

  • 通过替换将日期周数等内容
  • 关于enex的文档格式,文档的内容都在<en-note>标签里面
  • 建议有什么需要的格式自己导出一份研究就可以了,这里是扩展阅读

PackMemo.bat

  • 虽然演示视频中把快捷方式直接放到了%systemroot%/system32下面,但还是得说,这不是一个好习惯
  • 建议确定一个别的文件夹,专门用来放各类快捷启动,然后把这个文件夹加入环境变量
  • 没准就有人觉得有用呢(摊手)

API

快速入门

  • 对于API如果想要有个全面的了解的话,可以移步我的另一篇文章
  • 整个API的框架分为OAuth(使用开发者Token的话直接获取EvernoteClient即可)和常用方法
  • 仅是小应用的话可以不用了解OAuth
  • OAuth原意不是通过命令行实现,但还是可以通过一定的方法实现,官方文档见这里

权限

印象笔记有两种权限类型,开发者权限和普通权限。

  • 开发者权限:沙盒内与使用开发者Token(仅能操作本人账号)时的权限,可以使用所有的方法
  • 普通权限:用户可以通过输入账号密码和点击确认给予应用授权,可以使用绝大部分方法,具体操作见Oauth.py

获得授权后会获得一个Token,在各种方法中都会使用到

通过这个Token即可获取EvernoteClient, userStore, noteStore

if SANDBOX:
    client = EvernoteClient(token=self.token)
else:
    client = EvernoteClient(token=self.token, service_host=SERVICE_HOST)
userStore = client.get_user_store()
noteStore = client.get_note_store()

基本方法

Function: NoteStore.deleteNote为例演示如何使用API,以下为官方介绍:

Function: NoteStore.deleteNote

首先,由于其为NoteStore类的方法,所以调用的方式为NoteStore.deleteNote(token, guid)

其次,token为上述的开发者Token或者有兴趣的话为OAuth获取到的token

再次,从图中第七行可以看出,guid的为GUID of the note to delete,下面是Note的介绍

Note

那么,只要获取到Note,就可以获得guid。

所以,最后一步,这里牵扯到印象笔记的数据结构,了解即可

值得一提的是,某些操作需要特殊的权限,sandbox中和使用开发者Token时可以使用不代表外部可以使用

结束语

希望读完这篇文章能对你有帮助,有什么不足之处万望指正(鞠躬)。

有什么想法或者想要关注我的更新,欢迎来GithubStar或者Fork

160304

LittleCoder

EOF

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容